/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2022-2022. All rights reserved.
 *
 */

/**
 * 日志收集器
 *
 * @since 2022/8/18
 */
export class LogCollector<T> {
  private readonly logSet: Set<T>;

  constructor() {
    this.logSet = new Set();
  }

  /**
   * 添加日志
   *
   * @param log
   */
  add(log: T): void {
    this.logSet.add(log);
  }

  /**
   * 返回所有日志
   *
   * @returns {Set<T>} 日志集合
   */
  dump(): Set<T> {
    return this.logSet;
  }

  /**
   * 清空日志
   */
  clear(): void {
    this.logSet.clear();
  }
}
